<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@include file="/includes/config.jsp"%>
<%@include file="/includes/easyui.jsp"%>

<script type="text/javascript">
$(function(){
	//自定义验证
	  $.extend($.fn.validatebox.defaults.rules, {
		  integer: {// 验证整数 可正负数
              validator: function (value) {
                  //return /^[+]?[1-9]+\d*$/i.test(value);

                  return /^([+]?[0-9])|([-]?[0-9])+\d*$/i.test(value);
              },
              message: '请输入整数'
          }
		  
	  });
});
</script>

<script type="text/javascript">
/**
 * 增加formatString功能
 * 使用方法：formatString('字符串{0}字符串{1}字符串','第一个变量','第二个变量');
 * @returns 格式化后的字符串
 */
formatString = function(str) {
	for ( var i = 0; i < arguments.length - 1; i++) {
		str = str.replace("{" + i + "}", arguments[i + 1]);
	}
	return str;
};

stringToList = function(value) {
	if (value != undefined && value != '') {
		var values = [];
		var t = value.split(',');
		for ( var i = 0; i < t.length; i++) {
			values.push('' + t[i]);/* 避免他将ID当成数字 */
		}
		return values;
	} else {
		return [];
	}
};
</script>

<script type="text/javascript">
	$(function() {
		$('#datagridListView').datagrid({
			url : '${r'${pageContext.request.contextPath}'}/manage/commonDict/commonDictList.json?dictType=',
			fit : true,//如果设置为true，布局组件将自适应父容器。当使用'body'标签创建布局的时候，整个页面会自动最大。
			fitColumns : true,//真正的自动展开/收缩列的大小，以适应网格的宽度，防止水平滚动。
			border : false,//为true时显示布局面板边框。
			pagination : true,//如果为true，则在DataGrid控件底部显示分页工具栏。
			idField : 'id',//指明哪一个字段是标识字段。
			pageSize : 20,//
			pageList : [ 20, 30, 40, 50, 60 ],
			sortName : 'type',
			sortOrder : 'asc',
			checkOnSelect : false,
			selectOnCheck : false,
			nowrap : false,
			frozenColumns : [ [ {
				title : '编号',
				field : 'id',
				width : 150,
				sortable : true,
				checkbox : true
			} ] ],
			columns : [ [
			<#list table.columnList as column>
	           <#if column.columnName?uncap_first!="createUserID"&&column.columnName?uncap_first!="createTime"
		          &&column.columnName?uncap_first!="modifyUserID"&&column.columnName?uncap_first!="modifyTime" >
	          <#if column.columnName !="id">
	            {
				title : '${column.columnName?uncap_first}',
				field : '${column.columnName?uncap_first}',
				width : 100
			    },	
	          </#if>
	          </#if>
	        </#list>
			{
				field : 'action',
				title : '动作',
				width : 100,
				formatter : function(value, row, index) {
					return formatString('<img onclick="listeditFun(\'{0}\');" src="{1}"/>&nbsp;<img onclick="listdeleteFun(\'{2}\');" src="{3}"/>', row.id, '${r'${pageContext.request.contextPath}'}/images/pencil.png', row.id, '${r'${pageContext.request.contextPath}'}/images/cancel.png');
				}
			} ] ],
			toolbar : [ {
				text : '增加',
				iconCls : 'icon-add',
				handler : function() {
					listAppendFun();
				}
			}, '-', {
				text : '批量删除',
				iconCls : 'icon-remove',
				handler : function() {
					listRemoveFun();
				}
			}, '-' ]
		});
		parent.Util.unmask();
	});

	function listeditFun(id) {
		$('#datagridListView').datagrid('uncheckAll').datagrid('unselectAll').datagrid('clearSelections');
		var editDict = $('<div/>').dialog({
			href : '${r'${pageContext.request.contextPath}'}/manage/${table.tableName}/listEdit.html',
			width : 500,
			height : 200,
			modal : true,
			title : '修改',
			buttons : [ {
				text : '编辑',
				iconCls : 'icon-edit',
				handler : function() {
					var d = $(this).closest('.window-body');
					$('#listeditForm').form('submit', {
						url : '${r'${pageContext.request.contextPath}'}/manage/${table.tableName}/edit.html',
						success : function(result) {
							
							try {
								// var r = $.parseJSON(result);
								 /*if (r.success) {
									$('#datagridListView').datagrid('updateRow', {
										index : $('#datagridListView').datagrid('getRowIndex', id),
										row : r.obj
									});
									d.dialog('destroy');
								} */
								editDict.dialog('destroy');
								$('#datagridListView').datagrid('reload');
								$.messager.alert('提示', result);
							
							} catch (e) {
								editDict.dialog('destroy');
								
								$.messager.alert('提示', "修改失败");
								
							}
						}
					});
				}
			},{
				text:'关闭',
				iconCls : 'icon-cancel',
				handler:function(){
					editDict.dialog('destroy');
				}
			}],
			onClose : function() {
				$(this).dialog('destroy');
			},
			onLoad : function() {
				var index = $('#datagridListView').datagrid('getRowIndex', id);
				var rows = $('#datagridListView').datagrid('getRows');
				var o = rows[index];
				o.resourceIds = stringToList(rows[index].resourceIds);
				$('#listeditForm').form('load', o);
			}
		});
	}
	function listAppendFun() {
		$('#datagridListView').datagrid('uncheckAll').datagrid('unselectAll').datagrid('clearSelections');
		var dict = $('<div/>').dialog({
			href : '${r'${pageContext.request.contextPath}'}/manage/${table.tableName}/listAdd.html',
			width : 500,
			height : 200,
			//fit:true,
			modal : true,
			title : '添加',
			buttons : [{
				text : '增加',
				iconCls : 'icon-add',
				handler : function() {
					var d = $(this).closest('.window-body');
					$('#listAddForm').form('submit', {
						url : '${r'${pageContext.request.contextPath}'}/manage/${table.tableName}/add.html',
						success : function(result) {
							try {
							   //var r = $.parseJSON(result);
								/* if (r.success) {
									$('#datagridListView').datagrid('insertRow', {
										index : 0,
										row : r.obj
									});
									d.dialog('destroy');
								} */
								
							    dict.dialog('destroy');
								
								$('#datagridListView').datagrid('reload');
								$.messager.alert('提示', result);
								/* $.messager.show({
									title : '提示',
									msg : r.msg
								}); */
							} catch (e) {
								 dict.dialog('destroy');
								$.messager.alert('提示', "添加失败");
							}
						}
					});
				}
			},{
				text:'关闭',
				iconCls : 'icon-cancel',
				handler:function(){
					dict.dialog('destroy');
				}
			}],
			onClose : function() {
				$(this).dialog('destroy');
			}
		});
	}
	function listRemoveFun() {
		var rows = $('#datagridListView').datagrid('getChecked');
		var ids = [];
		if (rows.length > 0) {
			$.messager.confirm('提示', '您是否要删除当前选中的项目？', function(r) {
				if (r) {
					for ( var i = 0; i < rows.length; i++) {
						ids.push(rows[i].id);
					}
					$.ajax({
						url : '${r'${pageContext.request.contextPath}'}/manage/${table.tableName}/delete.json',
						data : {
							ids : ids.join(',')
						},
						dataType : 'json',
						success : function(result) {
							//if (result.success) {
								$('#datagridListView').datagrid('load');
								$('#datagridListView').datagrid('uncheckAll').datagrid('unselectAll').datagrid('clearSelections');
							//}
							$.messager.alert('提示', result.root); 
							/* $.messager.show({
								title : '提示',
								msg : result.msg
							}); */
						}
					});
				}
			});
		} else {
			$.messager.alert('提示', "请勾选要删除的记录！");
		}
	}
	function listdeleteFun(id) {
		$('#datagridListView').datagrid('uncheckAll').datagrid('unselectAll').datagrid('clearSelections');
		$('#datagridListView').datagrid('checkRow', $('#datagridListView').datagrid('getRowIndex', id));
		listRemoveFun();
	}
</script>
<table id="datagridListView"></table>